home *** CD-ROM | disk | FTP | other *** search
/ Nebula 2 / Nebula Two.iso / SourceCode / DynaDoodle / Manager.h < prev    next >
Text File  |  1993-12-14  |  3KB  |  46 lines

  1. /**------------------------------------*------------------------------------**
  2.     RELEASED TO THE PUBLIC DOMAIN BY CODEWORKS DEVELOPMENT, DECEMBER 1993.
  3.     You may freely copy, distribute and reuse the code in this example. Codeworks disclaims any warranty of any kind, expressed or implied, as to its fitness for any particular use.
  4.     Author:  Andrew Vyrros, av@codeworks.com
  5.  **------------------------------------*------------------------------------**/
  6. /**------------------------------------*------------------------------------**
  7.     File:    Manager.h
  8.     Project: DynaDoodle
  9.     Info:    Interface of the Manager class. Manager acts as the central object for the DynaDoodle application, and is NXApp's delegate.  It coordinates the loading of doodle modules and the selection of the current doodle. It also forwards some graphical control methods to the current doodle.
  10.     In its implementation, Manager is tied explicitly to DoodleModule and Doodle. It would have been possible to create a version with far less dependence on these classes. Such a version would have made it easier to use Manager in other projects, but I felt that this would have obscured the concepts and constructs of dynamic loading. I hope that once you understand the basic structure, you can easily adapt it to your own uses.
  11.  **------------------------------------*------------------------------------**/
  12.  
  13. #import <objc/Object.h>
  14.  
  15. @class List, Doodle;
  16.  
  17.  
  18. @interface Manager:Object
  19. {
  20.   /* nib outlets */
  21.   id                  doodleBox;            // Box to place doodle in
  22.   id                  currentDoodleButton;  // cover of currentDoodlePopUpList
  23.   id                  descriptionTextField; // TextField for doodle description
  24.   id                  foregroundColorWell;  // NXColorWells for doodle colors
  25.   id                  backgroundColorWell;
  26.   id                  customControlBox;     // Box to place doodle controls in
  27.   id                  infoPanel;            // Info Panel
  28.   
  29.   List               *bundleList;           // List of DoodleBundles
  30.   Doodle             *currentDoodle;        // currently selected doodle
  31. }
  32.  
  33. - appDidInit:sender;
  34. - free;
  35. - createBundlesAndLoadModules:(BOOL)doLoad;
  36. - createBundlesForDirectory:(const char *)dirPath loadModules:(BOOL)doLoad;
  37. - fillCurrentDoodlePopUpList;
  38. - setCurrentDoodleToDefault;
  39. - setCurrentDoodle:(Doodle *)newDoodle;
  40. - takeCurrentDoodleFrom:sender;
  41. - takeForegroundColorFrom:sender;
  42. - takeBackgroundColorFrom:sender;
  43. - showInfoPanel:sender;
  44.  
  45. @end
  46.